#include<bits/stdc++.h>
#define sd(n) scanf("%d",&n) 
#define sld(n) scanf("%lld",&n)
#define pd(n) printf("%d", (n))
#define pld(n) printf("%lld", n)
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()
#define fi first
#define se second
const int N=2e5;
#define INF 0x7fffffff
typedef long long int ll;
using namespace std;
//----------------------------------------------------------------------------//
//
void solve()
{
	string s1;
	cin>>s1;
	string s2;
	cin>>s2;
	//第二个字符串不只含a则可产生无限个
	bool have_a=false;
	//int a=0;
	//bool no_a=true;
	for(int i=0;i<s2.size();i++)
	{
		if(s2[i]=='a') have_a=true;
	}
	if(s2.size()==1&&s2[0]=='a')
	{
		pd(1);puts("");
		return;
	}
	if(have_a)
	{
		pd(-1);puts("");
		return;
	}
	//pld(1LL*s1.size()*s2.size());
	//int sz=s1.szie();
	//pld((pow((ll)s1.size(),2)));//选或者不选
	//pd(pow(sz,2));
	ll sz=pow(2,s1.size());
	pld(sz);
	
	puts("");




}

int main()
{
	int T;
	sd(T);
	while (T--)
	{
		solve();
	}
	return 0;
}